<html>
<head><meta charset="utf-8"><title>reboot meeting · t-compiler/wg-polonius · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/index.html">t-compiler/wg-polonius</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html">reboot meeting</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="174260972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174260972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174260972">(Aug 27 2019 at 19:14)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="1184">@WG-polonius</span> -- I'd like to have a kind of "reboot" meeting where we discuss where we are, plan next steps, figure out who's around and for what, etc. Should we maybe use next week's slot for that? (This one being half over.) Or maybe we can just discuss in this thread a bit async?</p>
<p>For my part:</p>
<p>I'm still interested in keeping polonius on a "light boil" -- I probably won't have a ton of time to devote, but I'm happy we're still making progress. I can and will do the reviews of the initialization PRs, for example. </p>
<p>I still think the overall plan we've been following makes sense:</p>
<ul>
<li>move the remainder of borrow check into polonius</li>
<li>start to optimize for performance after that</li>
</ul>



<a name="174262806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174262806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174262806">(Aug 27 2019 at 19:32)</a>:</h4>
<p>Sounds good! I'm still interested in sticking around, but I also have no idea what will happen after I start my PhD. I will try to finish up the last bit of the initialisation (that is, reporting move errors), which shouldn't be a lot more work. I also would like to do the fact generation refactoring I described in the separate topic, if you (the collective you) feel it's a good idea.</p>



<a name="174264299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174264299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174264299">(Aug 27 2019 at 19:48)</a>:</h4>
<p>To be honest I had some trouble picturing it</p>



<a name="174264309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174264309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174264309">(Aug 27 2019 at 19:48)</a>:</h4>
<p>but I agree the current code is kind of spagetti</p>



<a name="174264325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174264325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174264325">(Aug 27 2019 at 19:48)</a>:</h4>
<p>and I suspect your proposal will be an improvement</p>



<a name="174314129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174314129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174314129">(Aug 27 2019 at 22:06)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> I'm slowly coming back online myself (and wasn't aware the meetings were back on already, sorry). I have been working on a summary of the current state of affairs, I'll try to finish it soon</p>



<a name="174314693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174314693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174314693">(Aug 27 2019 at 22:15)</a>:</h4>
<p>(I'll mention it in more detail in the summary but I feel which of the 3 ways we choose to do the illegal subset relation errors has a big impact on the optimisation work; and also I've encountered some <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/rustc.20compare-mode.20polonius/near/171175296" title="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/rustc.20compare-mode.20polonius/near/171175296">OOMs in the current fact generation</a> and I wonder how to fix those and whether it has  consequences on the approach or not)</p>



<a name="174331546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174331546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Paul Faria <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174331546">(Aug 28 2019 at 04:31)</a>:</h4>
<p>I'll be more available during late evenings. If I get enough of a heads up I can try to block time off from work to attend the next meeting. Is it scheduled at a regular time or on an ad hoc basis?</p>



<a name="174351245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174351245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174351245">(Aug 28 2019 at 10:56)</a>:</h4>
<p>it used to be scheduled and in the compiler team calendar (but maybe not anymore I'm not sure)</p>



<a name="174351552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174351552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174351552">(Aug 28 2019 at 11:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <a href="https://hackmd.io/wGwGGRCKStiWBq9voP4e2A" target="_blank" title="https://hackmd.io/wGwGGRCKStiWBq9voP4e2A">here</a> are the WIP notes I mentioned yesterday, let me know if you need more detail ?</p>



<a name="174356780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174356780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174356780">(Aug 28 2019 at 12:29)</a>:</h4>
<p>Also, concerning more videos etc; I will be required to hold a 30-minute presentation as part of my thesis work. I might try to make a decent recording of it if it would be of any interest to use as an introduction.</p>



<a name="174357275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174357275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174357275">(Aug 28 2019 at 12:34)</a>:</h4>
<blockquote>
<p>(I'll mention it in more detail in the summary but I feel which of the 3 ways we choose to do the illegal subset relation errors has a big impact on the optimisation work; and also I've encountered some <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/rustc.20compare-mode.20polonius/near/171175296" title="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/rustc.20compare-mode.20polonius/near/171175296">OOMs in the current fact generation</a> and I wonder how to fix those and whether it has  consequences on the approach or not)</p>
</blockquote>
<p>ah yeah I was thinking that (a) I had forgotten about the changes that <span class="user-mention" data-user-id="127262">@Aaron Weiss</span> and I were discussing, which we never fully bottomed out and (b) the error work is important</p>



<a name="174382071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174382071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174382071">(Aug 28 2019 at 17:04)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span><a href="/user_uploads/4715/2TufBUN8iAVVbWzXj-XNtbi5/Polonius-refactor.png" target="_blank" title="Polonius-refactor.png">I made a chart, if that helps</a>. Modules are in bold and facts in non-bold. Red and green is removed and added, respectively. Basically, my idea is to do everything we can do early in the process, and only put the things that absolutely need to happen inside of type-checking there (anything mapping variables or borrows to provenance variables). Apparently, outlives seems to take the output of <code>type_check::type_check</code>, so it can be pulled into the NLL module as well, just after the call to <code>type_check()</code>.</p>
<div class="message_inline_image"><a href="/user_uploads/4715/2TufBUN8iAVVbWzXj-XNtbi5/Polonius-refactor.png" target="_blank" title="I made a chart, if that helps"><img src="/user_uploads/4715/2TufBUN8iAVVbWzXj-XNtbi5/Polonius-refactor.png"></a></div><p>Things that are grouped should take more or less the exact same inputs.</p>



<a name="174554326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174554326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174554326">(Aug 30 2019 at 15:20)</a>:</h4>
<p>also, what does "reboot" mean in this context ? just re-starting the work after the holidays ?</p>



<a name="174554637"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174554637" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174554637">(Aug 30 2019 at 15:24)</a>:</h4>
<p>(and if anyone has feedback on the notes I posted earlier, or needs more details or clarifications ? I'll be glad to update them before the meeting)</p>



<a name="174558374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174558374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174558374">(Aug 30 2019 at 16:06)</a>:</h4>
<p>@lqd I added a few comments, but other than that I don’t have anything in particular</p>



<a name="174558482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174558482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174558482">(Aug 30 2019 at 16:08)</a>:</h4>
<p>I did see them yeah, thanks for those</p>



<a name="174560515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174560515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174560515">(Aug 30 2019 at 16:31)</a>:</h4>
<blockquote>
<p>also, what does "reboot" mean in this context ? just re-starting the work after the holidays ?</p>
</blockquote>
<p>confirm</p>



<a name="174560544"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/reboot%20meeting/near/174560544" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/reboot.20meeting.html#174560544">(Aug 30 2019 at 16:32)</a>:</h4>
<p>perhaps not the best term, I guess it has other connotations</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>